// 1.给定两个数组 nums1 和 nums2 ，返回它们的交集。输出结果中的每个元素一定是唯一的。可以不考虑输出结果的顺序 。
// 输入：nums1 = [4,9,5], nums2 = [9,4,9,8,4]
// 输出：[9,4]
// 解释：[4,9] 也是可通过的。

#include <stdio.h>

#define BUFFER_SIZE 100

int intersection(int nums1[], int len1, int nums2[], int len2)
{
    int tmp[BUFFER_SIZE] = {0};
    
    for (int idx = 0; idx < len1; idx++)
    {
        tmp[nums1[idx]] = 1;
    }

    printf("两个数组的交集是：");

    for (int idx = 0; idx < len2; idx++)
    {
        if (tmp[nums2[idx]] == 1)
        {
            printf("%d\t", nums2[idx]);
            tmp[nums2[idx]] = 0;
        }
    }
    printf("\n");

    return 0;
}

int main()
{
    int nums1[] = {4, 9, 5};
    int nums2[] = {9, 4, 9, 8, 4};
    int len1 = sizeof(nums1) / sizeof(nums1[0]);
    int len2 = sizeof(nums2) / sizeof(nums2[0]);

    intersection(nums1, len1, nums2, len2);

    return 0;

}